import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';

/**
 * 图片分析请求DTO
 * 简化版的请求，只需要提供图片URL
 */
export class ImageAnalysisRequestDto {
  @ApiProperty({
    description: '图片URL',
    example: 'https://example.com/image.jpg',
  })
  imageUrl: string;

  /**
   * 可选的模型名称，默认使用Claude最新模型
   */
  @ApiPropertyOptional({
    description: '使用的AI模型',
    example: 'claude-3-7-sonnet-20250219',
  })
  model?: string;

  @ApiPropertyOptional({
    description: '生成响应的最大token数',
    example: 1024,
    default: 1024,
  })
  maxTokens?: number;
}

/**
 * 图片分析响应DTO
 * 包含分析结果的JSON格式化数据
 */
export class ImageAnalysisResponseDto {
  @ApiProperty({
    description: '图片分析结果',
    example: `{
  "Image_style_name": "清新简约封面风格",
  "Design_style": "采用浅色基调，整体布局简洁大方，留白充足...",
  "Text_typesetting_style": "标题采用黑体加粗处理，段落布局整齐...",
  "Visual_Element_Style": "使用简约线条装饰，图形元素以几何形状为主..."
}`,
  })
  result: string;

  @ApiPropertyOptional({
    description: '原始API响应数据',
    type: 'object',
  })
  rawResponse?: any;
}
